iT邦幫忙

2021 iThome 鐵人賽

DAY 5
0
自我挑戰組

資料結構到演算法整理心得系列 第 5

線性串列的鏈式儲存 - DAY 5

  • 分享至 

  • xImage
  •  

前言


資料結構由邏輯和儲存結構組成,了解他們不難,難的是你想解決的問題,問題牽涉到的的現實事物,可以轉成怎樣的邏輯和儲存結構,並從中找到解決問題的線索。

而讀到資工所的資料結構,除了資料結構本身更多涉及到程式語言、時間複雜度和數學的帶入應用,整個難度層級就硬生生地往上提了好幾階。(真可怕~)

定義


用一組任意的儲存單元儲存線性串列的資料元素,這組儲存單元可以是連續的,也可以是不連續的

https://ithelp.ithome.com.tw/upload/images/20210919/201077541hNpbhcuRg.jpg

優缺


優點:

  • 無須先定出儲存空間
  • 可以快速刪除和新增節點

缺點:

  • 搜尋需要從頭開始查找
  • 節點移失,就會斷鏈

時間複雜度


  • 搜尋: O(n)
  • 刪除和新增: O(1)

儲存內容特性


  • 現實事物有時間性但無連續性
  • 需要知道下個目標

實際使用


一、道路標牌:(0, 100K)->(100K, 200K)->(200K, 300K)->(300K, null)
二、聊天紀錄:(Id: 0 , text: '回覆A', replyId: 1)->(Id: 1 , text: '回覆B', replyId: 2)->(Id: 2 , text: '回覆C', replyId: null)


上一篇
線性串列的循序儲存 - DAY 4
下一篇
線性串列的循環/雙向鏈式儲存 - DAY 6
系列文
資料結構到演算法整理心得30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言